// 异步组件加载 Code Splitting
import asyncComponent from '../components/AsyncComponent';

const Notes = asyncComponent(() => import('../components/Notes/index.jsx'));
const Login = asyncComponent(() => import('../components/Login/index.jsx'));
const Register = asyncComponent(() => import('../components/Register/index.jsx'));
const Net = asyncComponent(() => import('../components/Net/index.jsx'));
const ChainCode = asyncComponent(() => import('../components/ChainCode/index.jsx'));
const accountService = asyncComponent(() => import('../components/accountService/index.jsx'));
const Toexamine = asyncComponent(() => import('../components/accountService/Toexamine/index.jsx'));
const Submitapply = asyncComponent(() => import('../components/accountService/Submitapply/index.jsx'));
const CreateOrganization = asyncComponent(() => import('../components/accountService/CreateOrganization/index.jsx'));
const Fillimformation = asyncComponent(() => import('../components/accountService/Fillimformation/index.jsx'));
const Waitingexamine = asyncComponent(() => import('../components/accountService/Waitingexamine/index.jsx'));
const MyorganizationManage = asyncComponent(() => import('../components/accountService/MyorganizationManage/index.jsx'));
const MyorganizationUser = asyncComponent(() => import('../components/accountService/MyorganizationUser/index.jsx'));
const UserList = asyncComponent(() => import('../components/accountService/UserList/index.jsx'));
const ApprovalRecord = asyncComponent(() => import('../components/Net/approvalRecord/index'));
const KeyManagement = asyncComponent(() => import('../components/account/keymanagement/index'));
const certificateManagement = asyncComponent(() => import('../components/account/certificateManagement/index'));
const createKey = asyncComponent(() => import('../components/account/certificateManagement/createKey/index'));
const createCertificate = asyncComponent(() =>
	import('../components/account/certificateManagement/createCertificate/index')
);
const downloadCertificate = asyncComponent(() =>
	import('../components/account/certificateManagement/downloadCertificate/index')
);
const changePassword = asyncComponent(() => import('../components/changePassword/index.jsx'));
const changePhone = asyncComponent(() => import('../components/changePhone/index.jsx'));
const forgetPwd = asyncComponent(() => import('../components/forgetPwd/index.jsx'));
const controlPanel = asyncComponent(() => import('../components/controlPanel/index.jsx'));
const log = asyncComponent(() => import('../components/log/index.jsx'));
const documentPdf = asyncComponent(() => import('../components/documentPdf/index.jsx'));
const chainCodeTemplate = asyncComponent(() => import('../components/ChainCodeTemplate/index.jsx'));
const Peer = asyncComponent(() => import('../components/Peer/index.jsx'));
const Info = asyncComponent(() => import('../components/Info/index.jsx'));
const ModifyPwd = asyncComponent(() => import('../components/ModifyPwd/index.jsx'));
const routes = [
  {
    exact: true,
    path: '/',
    component: Login
  },
  {
    exact: true,
    path: '/notes',
    component: Notes
  },
  {
    exact: true,
    path: '/login',
    component: Login
  },
  {
    path: '/Register',
    component: Register
  },
  {
    exact: true,
    path: '/net',
    component: Net
  },
  {
    exact: true,
    path: '/chaincode',
    component: ChainCode
  },
  {
    exact: true,
    path: '/accountService',
    component: accountService
  },
  {
    exact: true,
    path: '/accountService/Toexamine',
    component: Toexamine
  },
  {
    exact: true,
    path: '/accountService/Submitapply',
    component: Submitapply
  },
  {
    exact: true,
    path: '/accountService/CreateOrganization',
    component: CreateOrganization
  },
  {
    exact: true,
    path: '/accountService/Fillimformation',
    component: Fillimformation
  },
  {
    exact: true,
    path: '/accountService/Waitingexamine',
    component: Waitingexamine
  },
  {
    exact: true,
    path: '/accountService/MyorganizationManage',
    component: MyorganizationManage
  },
  {
    exact: true,
    path: '/accountService/MyorganizationUser',
    component: MyorganizationUser
  },
  {
    exact: true,
    path: '/accountService/UserList',
    component: UserList
  },
  {
    exact: true,
    path: '/net/ApprovalRecord',
    component: ApprovalRecord
  },
  {
    exact: true,
    path: '/keyManagement',
    component: KeyManagement
  },
  {
    exact: true,
    path: '/certificateManagement',
    component: certificateManagement
  },
  {
    exact: true,
    path: '/certificateManagement/createKey',
    component: createKey
  },
  {
    exact: true,
    path: '/certificateManagement/createCertificate',
    component: createCertificate
  },
  {
    exact: true,
    path: '/certificateManagement/downloadCertificate',
    component: downloadCertificate
  },
  {
    exact: true,
    path: '/changePassword',
    component: changePassword
  },
  {
    exact: true,
    path: '/changePhone',
    component: changePhone
  },
  {
    exact: true,
    path: '/forgetPwd',
    component: forgetPwd
  },
  {
    path: '/controlPanel',
    component: controlPanel
  },
  {
    path: '/Register/baasWeb',
    component: Register
  },
  {
    path: '/chaincodeTemplate',
    component: chainCodeTemplate
  },
  {
    path: '/nodeManage',
    component: Peer
  },
  {
    path: '/log',
    component: log
  },
  {
    path: '/documentPdf',
    component: documentPdf
  },
  {
    path: '/info',
    component: Info
  },
  {
    exact: true,
    path: '/modifyPwd',
    component: ModifyPwd
  }
];

export default routes;
